package com.feihao.demoBinarySearch;

import java.util.Arrays;

/**
 * 注意：适用前提：数组是有序排列的!!!!!!!!!!!!!(从小到大)。
 */

public class BinarySearchTest {
    public static void main(String[] args) {
        int[] arr = {3,4,5,6};
        int num = 3;//要查找的元素g

        int i = Arrays.binarySearch(arr, 88);
        System.out.println(i);

        //1.要做社么：二分查找元素，返回元素在数组中的索引值
        //2.需要社么：一个数组，一个要查找的元素值。
        //3.是否需要返回》  返回索引。。

        int index = binarySearchForIndex(arr, num);
        System.out.println(index);

        System.out.println((4+4)<1);

    }

    private static int binarySearchForIndex(int[] arr, int i) {

        //定义要查找的范围：
        int min = 0;
        int max = arr.length - 1;

        while (min <= max) {
            //如果mid索引对应的值比需查询的值大：
            int mid = (max + min) / 2;
            if (arr[mid] > i) {//要查找的元素在左边
                max = mid - 1;
            } else if (arr[mid] < i) {
                min = mid + 1;
            }else {
                return mid;
            }
        }
        return -1;
    }


}
